import React from "react";

import Index from "./views/index/index";

import DataBase from "./views/sysSetting/database";
import Api from "./views/sysSetting/api";
import Log from "./views/sysSetting/log";

import AssignTask from "./views/task/assignTask";
import EvaluationPlan from "./views/task/evaluationPlan";
import QueryTask from "./views/task/queryTask";
import UpdateTask from "./views/task/updateTask";

import UserInfo from "./views/basicInfo/userInfo";
import UserRight from "./views/basicInfo/userRight";
import DepartmentInfo from "./views/basicInfo/departmentInfo";
import ExpertInfo from "./views/basicInfo/expertInfo";
import LeaderInfo from "./views/basicInfo/leaderInfo";
import InChargeInfo from "./views/basicInfo/inChargeInfo";

import AnnualPerformanceTrendChart from "./views/comprehensiveChart/annualPerformanceTrendChart";
import ChartPerformanceScoreRanking from "./views/comprehensiveChart/chartPerformanceScoreRanking";
import TaskProgressTrackingChart from "./views/comprehensiveChart/taskProgressTrackingChart";

import AnnualPerformanceStatistic from "./views/statisticalReport/annualPerformanceStatistic";
import AnnualPerformanceTrendAnalysis from "./views/statisticalReport/annualPerformanceTrendAnalysis";
import PerformanceScoreRanking from "./views/statisticalReport/performanceScoreRanking";
import TaskCompletionStatistics from "./views/statisticalReport/taskCompletionStatistics";

import AppointExpert from "./views/performanceEvaluation/appointExpert";
import EvaluationScore from "./views/performanceEvaluation/evaluationScore";
import EvaluationStatistic from "./views/performanceEvaluation/evaluationStatistic";

import EvaluationResult from "./views/evaluationPublicity/evaluationResult";
import WebsiteSetting from "./views/evaluationPublicity/websiteSetting";
import ScoreRanking from "./views/evaluationPublicity/scoreRanking";

const routes = [
  {
    path: "/",
    exact: true,
    component: () => <Index />,
  },

  /**
   *setting
   */
  {
    path: "/sysSetting/database",
    component: () => <DataBase />,
  },
  {
    path: "/sysSetting/api",
    component: () => <Api />,
  },
  {
    path: "/sysSetting/log",
    component: () => <Log />,
  },

  /**
   *task
   */
  {
    path: "/task/assignTask",
    component: () => <AssignTask />,
  },
  {
    path: "/task/evaluationPlan",
    component: () => <EvaluationPlan />,
  },
  {
    path: "/task/queryTask",
    component: () => <QueryTask />,
  },
  {
    path: "/task/updateTask",
    component: () => <UpdateTask />,
  },

  /**
   *basic
   */
  {
    path: "/basicInfo/userInfo",
    component: () => <UserInfo />,
  },
  {
    path: "/basicInfo/userRight",
    component: () => <UserRight />,
  },
  {
    path: "/basicInfo/departmentInfo",
    component: () => <DepartmentInfo />,
  },
  {
    path: "/basicInfo/expertInfo",
    component: () => <ExpertInfo />,
  },
  {
    path: "/basicInfo/leaderInfo",
    component: () => <LeaderInfo />,
  },
  {
    path: "/basicInfo/inChargeInfo",
    component: () => <InChargeInfo />,
  },

  /**
   *chart
   */
  {
    path: "/comprehensiveChart/annualPerformanceTrendChart",
    component: () => <AnnualPerformanceTrendChart />,
  },
  {
    path: "/comprehensiveChart/chartPerformanceScoreRanking",
    component: () => <ChartPerformanceScoreRanking />,
  },
  {
    path: "/comprehensiveChart/taskProgressTrackingChart",
    component: () => <TaskProgressTrackingChart />,
  },

  /**
   *report
   */
  {
    path: "/statisticalReport/annualPerformanceStatistic",
    component: () => <AnnualPerformanceStatistic />,
  },
  {
    path: "/statisticalReport/annualPerformanceTrendAnalysis",
    component: () => <AnnualPerformanceTrendAnalysis />,
  },
  {
    path: "/statisticalReport/performanceScoreRanking",
    component: () => <PerformanceScoreRanking />,
  },
  {
    path: "/statisticalReport/taskCompletionStatistics",
    component: () => <TaskCompletionStatistics />,
  },

  /**
   *public
   */

  {
    path: "/evaluationPublicity/evaluationResult",
    component: () => <EvaluationResult />,
  },
  {
    path: "/evaluationPublicity/websiteSetting",
    component: () => <WebsiteSetting />,
  },
  {
    path: "/evaluationPublicity/scoreRanking",
    component: () => <ScoreRanking />,
  },
  /**
   *performance
   */
  {
    path: "/performanceEvaluation/appointExpert",
    component: () => <AppointExpert />,
  },
  {
    path: "/performanceEvaluation/evaluationScore",
    component: () => <EvaluationScore />,
  },
  {
    path: "/performanceEvaluation/evaluationStatistic",
    component: () => <EvaluationStatistic />,
  },
];

export default routes;
